<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<style>
  .outBox{
    width: 200px;
    height: 200px;
    border: 1px solid #000;
    text-align: center;
    float: left;
  }
  .item{
    height: 100px;
    width: 100px;
    background-color: #ccc;
  }
  .clear{
    clear: both;
  }
</style>
<body>
  <div class="outBox box1">
    <div class="item item1">单行 line-height</div>
  </div>
  <div class="outBox box1-1">
    <div class="item item1-1">文字 line-height</div>
  </div>
  <style>
    .box1{
      line-height: 275px;
    }
    .item1{
      display: inline-block;
      overflow: hidden;
    }
    .box1-1{
      line-height: 200px;
    }
    .item1-1{
      width: 200px;
    }
  </style>
  <div class="clear"></div>
  <div class="outBox box2">
    <div class="item item2">::before</div>
  </div>
  <style>
    .box2::before{
      content:'';
      height: 100%;
      display: inline-block;
      vertical-align: middle;
    }
    .item2{
      display: inline-block;
      vertical-align:middle;
    }
  </style>
  <div class="clear"></div>
  <div class="outBox box3">
    <div class="item item3">calc</div>
  </div>
  <style>
    .item3{
      float: left;
      top: calc(50%-50px);
    }
  </style>
</body>

</html>